//引入express 
const express=require('express');
// 创建app应用
const app=express();
// 引入
const bodyparser=require('body-parser');
// 使用 将post请求体中的参数挂载到req.body中
app.use(bodyparser.urlencoded({extended:true}));
// 托管静态文件 将public文件夹下的文件暴露出来 可以直接在浏览器中访问
app.use(express.static('public'));
// 前后端交互 发送请求 返回响应的一个过程
// 客户发送请求 服务器返回响应
// 路由

// query参数
app.get('/test',(req,res)=>{
    // query参数  ?key=value&key=value
    console.log(req.query);
    res.send('返回get请求');
})

// params参数  前提在路径的配置中必须有占位符
app.get('/testparams/:name/:age',(req,res)=>{
    console.log(req.params);
    res.send('返回params请求');
})

// get请求测试的方式url form 收集数据发送ajax
// get请求可以在url中进行测试而post不能
// post请求 form 收集数据发送ajax
// jquery文件放到你的项目文件当中
// 要写请求 前后台 有问题 跨域
// 协议名 域名 端口号必须一致 否则不同源 跨域
// file:///D:/javascript%E7%BB%83%E4%B9%A0%EF%BC%88%E9%AB%98%E7%BA%A7%EF%BC%89/%E5%A4%8D%E4%B9%A0/%E4%BD%9C%E4%B8%9A/learn_express_ysn/learn_express1_ysn/public/html/index.html
// file协议
// 请求的路径http://localhost:8080/testpost
// 页面展示的路径 http://localhost:8080/html/indexhtml
app.post('/testpost',(req,res)=>{
    // 前台发送数据 后台接收
    // post的参数 直接使用req.body不能得到参数

    console.log(req.body);
    res.send('test这是一个post请求');
})





// 监听端口号
app.listen(8080,err=>{
    if(!err) console.log('服务器启动成功');
    else console.log(err);
})